package com.yanqu.road.entity.activity.feast.data;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.ArrayList;
import java.util.List;


@FieldTypeAnnotation(tableName = "t_u_activity_feast_mission_data")
public class FeastMissionData extends DataObject {

    @FieldTypeAnnotation(desc = "活动ID", select = true)
    private int activityId;

    @FieldTypeAnnotation(desc = "玩家ID", select = true)
    private long userId;

    @FieldTypeAnnotation(desc = "地图类型", update = true)
    private int missionType;

    @FieldTypeAnnotation(desc = "地图id", update = true)
    private int missionId;

    @FieldTypeAnnotation(desc = "格子列表", update = true)
    private List<FeastGridPositionData> hasExploreGridList = new ArrayList<>();

    @FieldTypeAnnotation(desc = "地图进度奖励领取", update = true)
    private List<Integer> subsectionGetList = new ArrayList<>();

    @FieldTypeAnnotation(desc = "地图是否全部完成", update = true)
    private boolean isFinish = false;

    public FeastMissionData() {

    }

    public int getActivityId() {
        return activityId;
    }
    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public long getUserId() {
        return userId;
    }
    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setOp(DataStatus.Update);
        }
    }

    public int getMissionId() {
        return missionId;
    }
    public void setMissionId(int missionId) {
        if (this.missionId != missionId) {
            this.missionId = missionId;
            setOp(DataStatus.Update);
        }
    }

    public int getMissionType() {
        return missionType;
    }
    public void setMissionType(int missionType) {
        if (this.missionType != missionType) {
            this.missionType = missionType;
            setOp(DataStatus.Update);
        }
    }

    public List<FeastGridPositionData> getHasExploreGridList() {
        return hasExploreGridList;
    }
    public void setHasExploreGridList(List<FeastGridPositionData> hasExploreGridList) {
        if (null == hasExploreGridList){
            return;
        }
        this.hasExploreGridList = hasExploreGridList;
        setOp(DataStatus.Update);
    }

    public List<Integer> getSubsectionGetList() {
        return subsectionGetList;
    }
    public void setSubsectionGetList(List<Integer> subsectionGetList) {
        if (null == subsectionGetList){
            return;
        }
        this.subsectionGetList = subsectionGetList;
        setOp(DataStatus.Update);
    }

    public boolean getIsFinish() {
        return isFinish;
    }
    public void setIsFinish(boolean isFinish) {
        if (this.isFinish != isFinish) {
            this.isFinish = isFinish;
            setOp(DataStatus.Update);
        }
    }

}
